/*
 * Created on Feb 11, 2005
 * Created by dfhuynh
 */
package edu.mit.simile.longwell.schema;

import java.util.Set;

import com.hp.hpl.jena.rdf.model.Resource;

/**
 * @author dfhuynh
 */
public interface IStructuredSchema {
	/**
	 * Answer the URI of this structured schema.
	 * 
	 * @return
	 */
	public String getURI();
	
	/**
	 * Answer whether this structured schema has been explicitly specified or
	 * mined from the data.
	 * 
	 * @return
	 */
	public boolean isExplicit();
	
	/**
	 * Answer the set of IStructuredClass'es in this structured schema.
	 * @return
	 */
	public Set getClasses();
	
	/**
	 * Answer the set of objects belonging to this structured schema.
	 * 
	 * @return
	 */
	public Set getObjects();
	
	/**
	 * Answer the number of objects belonging to this structured schema.
	 * 
	 * @return
	 */
	public int countObjects();
	
	/**
	 * Answer whether the given objects belong to this structured schema.
	 * 
	 * @return
	 */
	public boolean containsObject(Resource object);
}
